Hypothesis-Based Approach To Detecting Runtime Violations In Java Program Using Automated Theorem Prover

نویسندگان

  • Xiaoping Jia
  • Lizhang Qin
  • Hongming Liu
چکیده

We develop an approach to apply formal methods to represent the program source codes as a model, after that, using automated theorem prover to try to detect runtime violations in those codes by doing static analysis. Unlike other proof based program verification approaches, this approach is based on hypothesis to develop the formal specification information implied by source codes, such as invariants, preconditions, postconditions and other runtime assertions, then using automated theorem prover to verify the correctness of each statement in the program. Our research work is an extension to compilers, can catch those runtime exceptions which are out of bound of the capability of compiler’s control-flow based analysis.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Hypothesis-Based Approach to Detecting Runtime Violations

We have developed an approach to apply formal methods to represent program source code as a model and use an automated theorem prover to detect runtime violations by doing static analysis. Unlike other proof-based program verification approaches, this approach is based on a hypothesis to develop the implicit specification information, such as invariants, preconditions, postconditions, then usin...

متن کامل

Static and Dynamic Contract Verifiers For Java

Design By Contract (DBC) is a systematic approach to specifying and implementing object-oriented software systems. DBC has been proved to greatly benefit software development. However, Java does not natively support DBC. We have developed a comprehensive solution to bring DBC into Java. The static and dynamic contract verifier is the most crucial part of the solution. We have developed a toolse...

متن کامل

A Low-Footprint Java-to-Native Compilation Scheme Using Formal Methods

Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances of restrained systems like Java Card by turning critical Java methods into native code. However, native code is much bigger than Java bytecode, which severely limits or even forbids these practices for devices with memory constraints. In this paper, we describe and evaluate a method for reducing nativelyc...

متن کامل

Applying Static Analysis for Detecting Null Pointers in Java Programs

The detection of bugs in software has been a difficult and time-consuming manual task. Some bugs are hard to find as they manifest themselves far from the actual errors such as dereferencing null-pointer. To avoid these bugs, a useful static program analysis tool would inspect a program for presence of such errors. The goal of static analysis is to detect common run-time errors that are not det...

متن کامل

Analysing the Java package/access concepts in Isabelle/HOL

Java access modifiers and packages provide a mechanism to restrict access to members and types, as an additional means of information hiding beyond the purely objectoriented concept of classes. In this paper we clarify the semantics of access modifiers and packages by adding them to our formal model of Java in the theorem prover Isabelle/HOL. We analyse which properties we can rely on at runtim...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003